/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Modelo;

/**
 *
 * @author Carlos
 */
import Vista.Datos;
import java.io.*;
import Vista.Grafico ;
import java.awt.Image ;
import java.awt.MediaTracker;

public class PozoPetrolero extends Industria implements Serializable {
	public static int precio []={100,0,0,0};
	private static tiposIndustria []atipos;
        private char simbolo = 'O';
        public final static int nivelRequerido = 1;
        public static char compatible = '_';
        public static Image imagen;
        public static int longx=2;
	public static int longy=2;

        public char getSimbolo(){
            return simbolo;
        }
        public Image getImagen(){
            return imagen;
        }
        public int getLongx(){
            return longx;
        }

        public int getLongy(){
            return longy;
        }
        
        public static void cargar(){
            MediaTracker mt = new MediaTracker( Grafico.applet ) ;
            imagen=Grafico.applet.getImage(Grafico.applet.getCodeBase(),"Imagenes\\pozopetrolero.png");
            mt.addImage(imagen,0);
            try {
                mt.waitForAll();
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
	static{
		atipos=new tiposIndustria[5];
		atipos[0]=new tiposIndustria(20,0,0,0,30,1,"p1",3);
		atipos[1]=new tiposIndustria(50,0,0,0,100,2,"p2",5);
		atipos[2]=new tiposIndustria(70,0,0,0,150,4,"p3",7);
		atipos[3]=new tiposIndustria(100,0,0,0,200,6,"p4",9);
		atipos[4]=new tiposIndustria(200,0,0,0,400,8,"p5",11);
	}

	public PozoPetrolero (){
		super();
                Juego.gold-=precio[0];
                Juego.experiencia++;
                //asignarTrabajo(1);
	}
        public void trueUsado(){
        usado=true;
        }
        public void falseUsado(){
            usado=false;
        }
        public boolean getUsado(){
            return usado;
        }
	public void mostrar(){
		System.out.println("--------------");
		System.out.println("Pozo Petrolero");
		if(getEstado()==-1)
			for(int i=0;i<atipos.length;i++){
                            System.out.print("Opcion "+(i+1));
                            atipos[i].imprimir();
                        }
		else
			System.out.println("Se esta realizando un trabajo faltan "+(getTiempoInicial()+atipos[getEstado()].getDuracion() - Juego.turno) + " turnos");
	}

	public static int [] getPrecio(){
		int [] aux=new int [precio.length];
		for(int i=0;i<precio.length;i++) aux[i]=precio[i];
		return aux;
	}

	public void asignarTrabajo(int trabajo){
                trabajo--;
                if(atipos[trabajo].getNivel()<= Juego.nivel){
                    if( Juego.gold-atipos[trabajo].getPrecio()[0]>=0 ){
                        Juego.gold-=atipos[trabajo].getPrecio()[0];
                        setEstado(trabajo);
                        Juego.energia--;
                        setTiempoInicio(Juego.turno);
                        //System.out.println("Se asigno el trabajo correctamente");
                        Datos.mostrarPrincipal("Se asigno el trabajo correctamente");
                    }
                    else //System.out.println("No se tiene los recursos suficientes");
                        Datos.mostrarPrincipal("No se tiene los recursos suficientes");
                }
                else //System.out.println("No se tiene el nivel suficiente");
                    Datos.mostrarPrincipal("No se tiene el nivel suficiente");
	}

	public void recolectar(){
		Juego.petroleo+=atipos[getEstado()].getProduccion()[3];
		setEstado(-1);
                Juego.energia--;
		Juego.experiencia++;
	}

        public int getDuracion(){
            return atipos[getEstado()].getDuracion();
        }
}

